In systems performing data traffic management and switching of data in a communication network, it is frequently desirable to schedule elements of aggregates of data traffic flows. Aggregation of data traffic flows is provided in several data transmission protocols, including: ATM virtual paths (VPs) and MPLS label-switched paths (LSPs). Differing QoS requirements of the data traffic must be handled by the aggregated data traffic flows. One protocol which can handle different QoS requirements is a MPLS E-LSP. However for an aggregated data traffic flow, there may be a limit imposed on the bandwidth used by it. For example, such limits may be imposed on a bandwidth limited LSP carrying real-time (RT) and non-real-time (nRT) services.
Often, for data traffic carried over a communication network, a service level agreement (SLA) between a communication service provider and a customer will set levels-of-performance guarantees relating to the data traffic. Penalties are often imposed on the service provider when it fails to meet those guarantees. For example, the guarantee may specify a maximum acceptable delay for certain categories of data traffic flow, such as RT data traffic flow. Thus, a service provider must be mindful of meeting performance guarantees, while at the same time working with a limited amount of bandwidth available on the network.
Three general approaches for scheduling aggregated data traffic flows with different QoS requirements are known: (i) a QoS-centric approach; (ii) a flow-centric approach; and (iii) a hybrid of the first two approaches.
A “QoS-centric” approach schedules all flows (components of the aggregate and others) on a single scheduler. Aggregation is effectively not considered at the scheduling level. Rather, only identifiers are set so that subsequent devices will treat all of the flows as one flow. As an example of the “QoS-centric” approach, U.S. Pat. No. 5,926,459, issued to Lyles et al., discloses a per-flow queued data traffic shaper that serially emits packets of time-multiplexed flows in substantial compliance with individual network data traffic contracts for certain exclusive categories. The approach described in Lyles allows QoS requirements to be met, subject to the ability of the scheduler, without interference from an aggregation function. However, the QoS-centric approach cannot process the aggregation as a unit when scheduling the data traffic. As such, bandwidth limitations, bandwidth sharing and bandwidth guarantees for the aggregate cannot be provided.
A “flow-centric” approach uses a hierarchical scheduler in which all components of an aggregate (i.e. corresponding to a flow directed to a particular destination) are scheduled together on one scheduling entity. The scheduling entity is only used by components of that aggregate, and the scheduling entity is itself scheduled on a higher level entity. The flow-centric approach facilitates bandwidth limitations by limiting the service rate of the scheduling entity representing that aggregate. However, in this approach, the range of QoS levels that can be serviced is limited due to interference at the higher levels of scheduling. For example, scheduling of the aggregate may not permit the strict delay requirements of RT data traffic to be met without grossly over-provisioning the bandwidth. As another example, the servicing of an aggregate containing RT EF (expedited forwarding) data traffic may be delayed due to the servicing of other aggregates that at the time only contain, say, best effort data traffic.
A hybrid approach uses hierarchical scheduling to form sub-aggregate flows having similar QoS. An example of the third approach is U.S. Pat. No. 6,198,723, issued to Parruck et al., which discloses a method for shaping the output of cells on an output path of a data transmitting device. However, the hybrid approach shares the same limitations as the first approach and cannot process the aggregate data traffic as a single unit when scheduling the data traffic.
Accordingly, there is a need for a method and system which aggregates data traffic flows for scheduling purposes and handles data traffic flows having significantly different QoS requirements which can address shortcomings of the known scheduling approaches.